草庐IT

Android API 21 - TimePicker 小部件

全部标签

flutter - 远程更改列表中的小部件状态

我目前正在开发一个GridView,它为列表中的每个项目构建一个Container小部件。newGridView.count(crossAxisCount:2,childAspectRatio:1.3,children:cardSet.map((card){ColorcontainerColor=Colors.blue;returnnewGestureDetector(onTap:(){setState(){containerColor=Colors.green;//Thispartisunsolved:containerColor.of(matchingWidget)=Colors.

flutter - 如何在小部件树中保留 bloc 实例

我正在使用InheritedWidget将bloc类公开给子组件。但是,每次重新创建小部件树时,都会实例化bloc类的一个新实例。当我使用BehaviourSubject类来存储某些文本字段的最新值时,每次重新创建时我都会丢失当前值。如何解决这个问题,即bloc类应该只实例化一次。 最佳答案 这取决于您的提供程序是如何制作的,如果它是带有InheritedWidget的StatefulWidget的扩展。如果它只是从InheritedWigdet扩展,您将错过dispose方法,因为它不是从StatefulBuilder扩展的,但是

flutter - 继承的小部件和导航器

我找到了一些关于这个的答案[here,here]但他们都没有完全回答我的问题。我将使用包provider描述我的问题,因为它大大减少了样板代码。我想做的是在调用路由时(且仅在调用路由时)注入(inject)依赖项。我可以通过在onGenerateRoute上做这样的事情来实现:import'package:flutter/material.dart';import'package:provider/provider.dart';voidmain()=>runApp(MyApp());classMyAppextendsStatelessWidget{@overrideWidgetbuil

flutter - 如何将两个小部件放在同一行中?

我有国家代码(DropdownMenu)和电话(TextFormField),如何将它们放在同一层级?我试过对齐小部件。Row(children:[Flexible(flex:1,child:DropdownButtonFormField(value:_selectedCountryCode??'TR',onChanged:(value){setState((){_selectedCountryCode=value;});},items:countryCodes,),),Flexible(flex:4,child:Padding(padding:constEdgeInsets.all(

flutter - 如何缩放行为类似于图像缩放的文本小部件

我想执行一个Hero转换,最终会改变Widget的大小。这个小部件包含一些文本。默认情况下,文本小部件将调整大小并且内部文本会移动和调整大小以适合文本小部件。我想让整个小部件的行为像图像一样:一切都会缩放(缩放)。我试过了:auto_size_text包:文本仍然会移动,结果并不完美screenshotpackage:生成图片的时间太长,在执行英雄转换之前用图片替换当前的widget。我正在考虑RenderRepaintBoundary,但这对于一个简单的任务来说似乎需要大量工作。有什么想法吗? 最佳答案 如果我明白你想要实现什么,

flutter - 在没有 ListView 等的情况下刷新 Flutter 中的小部件或页面

我想在没有可滚动内容的情况下刷新我的页面,即没有ListView等。当我想使用RefreshIndicator时,文档说它需要一个scrollable小部件,如ListView。但是如果我想刷新并想使用RefreshIndicator的刷新动画而不使用ListView、GridView或任何其他可滚动的小部件,我该怎么做? 最佳答案 您可以简单地将您的内容包装在SingleChildScrollView中,这将允许您使用RefreshIndicator.为了使下拉刷新交互起作用,您将必须使用AlwaysScrollableScrol

flutter - 我如何在小部件中使用条件?

如何在小部件中使用条件?我用像container()或Text()这样的空小部件做到了,但是当我把emptyWidget放在row()并给出MainAxisAlignment的spaceBetween它占用了自己的空间而没有任何显示。在互联网上搜索我认为只有旧信息,所以它不再起作用(如果我错了,我真的很抱歉)。如果不允许条件并且我不想显示小部件-我该怎么做? 最佳答案 如果我没理解错的话,你想用child的大小渲染行。Listelements=[]Row(children:elements)第一个选项是在您的initState(){

flutter - 无法使用外部小部件设置状态

我正在使用flutter并尝试在点击图标时更改图标的状态(切换图标)。如果一切都在同一个类(class),这很好用。但是我在重复的页面上重复了小部件的一部分,因此我已经将该小部件移到了另一个类中。现在,当我尝试通过传入一个函数来设置状态时,基于调试步骤,看起来它工作正常但状态保持不变(图标没有改变)。我能知道我做错了什么吗?谢谢。这是我从另一个类调用小部件并传入函数以设置状态的类。class_MyPageStateextendsState{IconDataheartStatus=FontAwesomeIcons.heart;voidsetFav(){print('clicked');s

flutter - 使软键盘与其他小部件重叠 - Flutter

如何使软键盘覆盖/重叠其他小部件,而不是将它们向上推,这会导致UI变得疯狂和像素溢出?我尝试了使用和不使用Stack()我尝试过使用和不使用resizeToAvoidBottomInset:false,但是还是没有结果!classHomeextendsStatelessWidget{@overrideWidgetbuild(BuildContextcontext){returnScaffold(body:Container(child:Stack(children:[ClipPath(clipper:CustomBackgroundClipper(),child:Container(h

ListView 中的 Flutter 包装小部件

我想在listview中换行,这样当向下滚动时,搜索栏就会消失。我试过这样newListView(shrinkWrap:true,children:[newColumn(mainAxisSize:MainAxisSize.min,children:[newGestureDetector(child:newContainer(color:Colors.grey[300],child:newPadding(padding:constEdgeInsets.all(8.0),child:newCard(margin:constEdgeInsets.fromLTRB(4.0,0.0,4.0,0.